<?php
/**
 * configure    系统预设置
 * @copyright   Copyright(c) 2024-2034
 * @author      tianjie <527707665@qq.com>
 * @link        http://www.tinphp.com/
 * @version     4.1
 **/

return [
    // +----------------------------------------------------------------------
    // | 系统基础设置
    // +----------------------------------------------------------------------
    'config' => [
        // 默认Host地址
        'app_host' => '',
        // 应用调试模式
        'app_debug' => false,
        // 是否支持多模块
        'app_multi_module' => true,
        // 默认时区
        'default_timezone' => 'Asia/Shanghai',

        // 域名根，如：fake.cn
        'url_domain_root' => '',
        // 是否自动转换URL中的控制器和操作名
        'url_convert' => true,
        // 是否是ssl
        'is_https' => false,

        // +----------------------------------------------------------------------
        // | 模块设置
        // +----------------------------------------------------------------------
        // 默认模块名
        'default_module' => 'index',
        // 默认控制器名
        'default_controller' => 'Index',
        // 默认操作名
        'default_action' => 'index',
        // 默认验证器
        'default_validate' => '',
        // 自动搜索控制器
        'controller_auto_search' => false,

        // +----------------------------------------------------------------------
        // | URL设置
        // +----------------------------------------------------------------------
        // 生成url模式 默认：false 优化模式，true 传统模式
        'url_common_param' => false,
        // url伪静态后缀
        'url_html_suffix' => 'html',
        // url参数方式：0 按名称成对解析，1 按顺序解析
        'url_param_type' => 0,
        // pathinfo分隔符
        'pathinfo_depr' => '/',
        // HTTPS代理标识
        'https_agent_name' => '',

        // +----------------------------------------------------------------------
        // | 请求配置
        // +----------------------------------------------------------------------
        // 表单请求类型伪装变量
        'var_method' => '_method',
        // 表单ajax伪装变量
        'var_ajax' => '_ajax',
        // 表单pjax伪装变量
        'var_pjax' => '_pjax',

        // +----------------------------------------------------------------------
        // | 响应配置
        // +----------------------------------------------------------------------
        // 默认输出类型
        'default_return_type' => 'html',
        // 默认AJAX 数据返回格式,可选json
        'default_ajax_return' => 'json',
        // 默认JSONP格式返回的处理方法
        'default_jsonp_handler' => 'jsonpReturn',
        // 默认JSONP处理方法
        'var_jsonp_handler' => 'callback',

        // +----------------------------------------------------------------------
        // | 异常及错误设置
        // +----------------------------------------------------------------------
        // 异常页面的模板文件
        'exception_tmpl' => __DIR__ . '/tian/temp/exception.html',
        // 错误显示信息,非调试模式有效
        'error_message' => '页面错误！请稍后再试～',
        // 显示错误信息
        'show_error_msg' => false,
        // 异常处理handle类 留空使用 \tian\exception\Handle
        'exception_handle' => '',
    ],

    // +----------------------------------------------------------------------
    // | Cookie设置
    // +----------------------------------------------------------------------
    'cookie' => [
        // cookie 名称前缀
        'prefix' => '',
        // cookie 保存时间
        'expire' => 0,
        // cookie 保存路径
        'path' => '/',
        // cookie 有效域名
        'domain' => '',
        //  cookie 启用安全传输
        'secure' => false,
        // httponly设置
        'httponly' => '',
        // 是否使用 setcookie
        'setcookie' => true,
    ],

    // +----------------------------------------------------------------------
    // | 数据库设置
    // +----------------------------------------------------------------------
    'database' => [
        'is_open' => false,        //是否开启 数据库引擎
        'default' => 'mysql',       //数据库 类型
        'type' => 'ThinkOrm',       //数据库 默认驱动 ThinkOrm，支持Medoo
        'connections' => [
            'mysql' => [
                // 数据库类型
                'type' => 'mysql',
                // 数据库连接DSN配置
                'dsn' => '',
                // 服务器地址
                'hostname' => '127.0.0.1',
                // 数据库名
                'database' => '',
                // 数据库用户名
                'username' => 'root',
                // 数据库密码
                'password' => '',
                // 数据库连接端口
                'hostport' => '',
                // 数据库连接参数
                'params' => [],
                // 数据库编码默认采用utf8
                'charset' => 'utf8',
                // 数据库表前缀
                'prefix' => '',
                // 数据库调试模式
                'debug' => false,
                // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
                'deploy' => 0,
                // 数据库读写是否分离 主从式有效
                'rw_separate' => false,
                // 读写分离后 主服务器数量
                'master_num' => 1,
                // 指定从服务器序号
                'slave_no' => '',
                // 是否严格检查字段是否存在
                'fields_strict' => true,
                // 自动写入时间戳字段
                'auto_timestamp' => false,
                //是否开启断线重连
                'break_reconnect' => false,
                //是否开启字段缓存
                'fields_cache' => false,
            ],
            'mongo' => [],
            'sqlite' => [],
            'pgsql' => [],
        ],
    ],

    // +----------------------------------------------------------------------
    // | 日志设置
    // +----------------------------------------------------------------------
    'log' => [
        // 日志记录方式，内置 file socket 支持扩展
        'type' => 'File',
        // 日志保存目录
        'path' => $this->runtimePath . 'log',
        // 日志记录级别
        'level' => [],
    ],

    // +----------------------------------------------------------------------
    // | 中间件
    // +----------------------------------------------------------------------
    'middleware' => [],

    // +----------------------------------------------------------------------
    // | redis设置
    // +----------------------------------------------------------------------
    'redis' => [
        'default' => [
            'host' => '127.0.0.1',
            'port' => 6379,
            "db" => 0,              //数据库id号
            "connect" => false,     //连接方式，true 长链接 ,false 短链接
            'auth' => '',           //登录验证密码
            'timeout' => 30,        //连接超时时间
        ],
    ],

    // +----------------------------------------------------------------------
    // | 路由设置
    // +----------------------------------------------------------------------
    'route' => [],

    // +----------------------------------------------------------------------
    // | 会话设置
    // +----------------------------------------------------------------------
    'session' => [
        'id' => '',
        // SESSION_ID的提交变量,解决flash上传跨域
        'var_session_id' => '',
        // SESSION 前缀
        'prefix' => 'think',
        // 驱动方式 支持redis memcache memcached
        'type' => '',
        // 是否自动开启 SESSION
        'auto_start' => true,
        'httponly' => true,
        'secure' => false,
    ],

    // +----------------------------------------------------------------------
    // | 视图配置
    // +----------------------------------------------------------------------
    'view' => [
        'is_open' => false,             //是否开启 视图模板引擎
        'default' => 'ThinkTemplate',   //视图模板引擎 ThinkTemplate
        'options' => [
            'ThinkTemplate' => [
                // 模板引擎类型使用Think
                'type' => 'Think',
                // 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写 3 保持操作方法
                'auto_rule' => 1,
                // 模板目录名
                'view_dir_name' => 'view',
                // 模板后缀
                'view_suffix' => 'html',
                // 模板文件名分隔符
                'view_depr' => DIRECTORY_SEPARATOR,
                // 模板引擎普通标签开始标记
                'tpl_begin' => '{',
                // 模板引擎普通标签结束标记
                'tpl_end' => '}',
                // 标签库标签开始标记
                'taglib_begin' => '{',
                // 标签库标签结束标记
                'taglib_end' => '}',
                //是否开启模板编译缓存,设为false则每次都会重新编译
                'tpl_cache' => false,
            ],
        ],
    ],

];
